IF EXISTS (SELECT * FROM dbo.sysobjects WHERE id = object_id(N'[dbo].[InsertProductoDepartamento]') AND OBJECTPROPERTY(id, N'IsProcedure') = 1)
	DROP PROCEDURE [dbo].[InsertProductoDepartamento]
GO

CREATE PROCEDURE [dbo].[InsertProductoDepartamento]
(
	@IdProducto int,
	@IdDepartamento int,
	@Stock int,
	@Precio money,
	@Estado bit
)
AS
BEGIN
	SET NOCOUNT ON
	
	IF @precio = 0 
		SET @estado = CONVERT(bit,0)
	
	DECLARE @existe int
	SET @existe = ISNULL((SELECT COUNT(*) FROM [ProductoDepartamento] WHERE IdDepartamento=@IdDepartamento AND IdProducto=@IdProducto),0)
	
	IF @existe = 0
		BEGIN
			INSERT INTO [ProductoDepartamento] ([IdProducto], [IdDepartamento], [Stock], [Precio], [Estado]) 
			VALUES (@IdProducto, @IdDepartamento, @Stock, @Precio, @Estado)
		END
	ELSE
		BEGIN
			UPDATE [ProductoDepartamento] SET Stock = @Stock, Precio = @precio, Estado = @estado
			WHERE IdDepartamento=@IdDepartamento AND IdProducto=@IdProducto
		END

	SET NOCOUNT OFF
END

GO
